refactor: 리프레시 토큰 만료시 쿠키 삭제#628
Conversation
Walkthrough1.\tAuthController 서명 포맷이 단순화되었습니다. Estimated code review effort🎯 3 (Moderate) | ⏱️ ~20 minutes Suggested reviewers
🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing touches
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
whqtker
left a comment
There was a problem hiding this comment.
확인했습니다 !
지금 구현도 충분히 괜찮은데, 컨트롤러에서의 try catch는 어색하게 다가오기는 하네요 ..! 그렇다고 지금 핸들러에서 처리하기엔 CustomException 용 핸들러에서 쿠키 삭제 로직을 수행하는 게 어색하게 다가오기도 합니다 ㅠㅠ
개인적으로 생각한 건 인증/인가 용 예외 처리 클래스 AuthException 을 만들어 따로 처리하는 게 베스트같은데, 이 방법은 어떻게 생각하시나요 ?
저도 AuthException 클래스를 만들고 ControllerAdvice를 활용해서 처리하는 방식에 대해 동의합니다! |
관련 이슈
작업 내용
리프레시 토큰 만료시 쿠키 삭제를 삭제하는 로직을 추가하였습니다.
set-cookie에서 잘 삭제된 것을 확인할 수 있습니다.
특이 사항
리뷰 요구사항 (선택)
기존에 controller 삭제 관련 로직이 없었습니다. 이를 어떻게 하는 게 좋을까요? 예를들어 로그아웃 시에도 리프레시 토큰을 삭제하는 로직이 있는데 이에 대해 검증하는 것이 없습니다. 그래서 이를 mock을 활용해서 테스트를 하는 게 좋을지 고민이 되네요..
쿠키제거시에 HttpServletResponse를 활용해야하기에 service로직에서 이를 처리하는 건 조금 어긋난다고 생각하여 우선 controller 계층에서 try-catch를 활용해서 해결했습니다. 클로드 피셜 이 방식이 제일 나을 거 같다고 하긴 하는데..(이유는 reissue api에서만 리프레시 토큰을 검증하기 때문에) 이를 그냥 CustomExceptionHandler에서 처리하는 게 좋을지.. 아니면 AuthController 내에서 @ExceptionHandler를 사용하는 게 나을지 고민되긴 하네요